import { http } from '@/utils/axios/init'

export interface BasicResponseModel<T = any> {
  code: number
  msg: string
  data: T
}
const commonPrefix = '/common/Rest/form'
// 运维端和sop管理端的模板列表
export function formlist(params) {
  return http.request<BasicResponseModel>({
    url: `${commonPrefix}/template/listByPage`,
    method: 'get',
    params
  })
}

// 新增表单模板
export function formAdd(params) {
  return http.request<BasicResponseModel>({
    url: `${commonPrefix}/template/save`,
    method: 'post',
    data: params
  })
}

// 编辑表单模板
export function formUpdate(params) {
  return http.request<BasicResponseModel>({
    url: `${commonPrefix}/template/update`,
    method: 'post',
    data: params
  })
}

// 表单详情
export function formDetail(params) {
  return http.request<BasicResponseModel>({
    url: `${commonPrefix}/template/detail`,
    method: 'get',
    params
  })
}

// 表单复制
export function formCopy(params) {
  return http.request<BasicResponseModel>({
    url: `${commonPrefix}/template/copy/save`,
    method: 'post',
    data: params
  })
}

// 表单选择
export function formSelect(params) {
  return http.request<BasicResponseModel>({
    url: `${commonPrefix}/template/select/save`,
    method: 'post',
    data: params
  })
}

// 表单启用/停用
export function updateStatus(params) {
  return http.request<BasicResponseModel>({
    url: `${commonPrefix}/template/updateStatus`,
    method: 'post',
    data: params
  })
}

// 表单删除
export function formDelete(params) {
  return http.request<BasicResponseModel>({
    url: `${commonPrefix}/template/delete`,
    method: 'post',
    data: params
  })
}
// 新增空白模板
export function formBlankAdd(params) {
  return http.request<BasicResponseModel>({
    url: `${commonPrefix}/template/empty/save`,
    method: 'post',
    data: params
  })
}
// 业务关联表单列表
export function formBusinessList(params) {
  return http.request<BasicResponseModel>({
    url: `${commonPrefix}/template/list`,
    method: 'get',
    params
  })
}

// 表单新增（应用端）
export function formAddApp(params) {
  return http.request<BasicResponseModel>({
    url: `${commonPrefix}/apply/save`,
    method: 'post',
    data: params
  })
}

// 表单删除（应用端）
export function formDeleteApp(params) {
  return http.request<BasicResponseModel>({
    url: `${commonPrefix}/apply/delete`,
    method: 'post',
    data: params
  })
}
// 表单选择（应用端）
export function formSelectApp(params) {
  return http.request<BasicResponseModel>({
    url: `${commonPrefix}/apply/select/save`,
    method: 'post',
    data: params
  })
}
// 表单列表 （应用端）
export function formListApp(params) {
  return http.request<BasicResponseModel>({
    url: `${commonPrefix}/apply/list`,
    method: 'get',
    params
  })
}
// 表单详情（应用端）
export function formDetailApp(params) {
  return http.request<BasicResponseModel>({
    url: `${commonPrefix}/apply/detail`,
    method: 'get',
    params
  })
}

// 编辑表单（应用端）
export function formUpdateApp(params) {
  return http.request<BasicResponseModel>({
    url: `${commonPrefix}/apply/update`,
    method: 'post',
    data: params
  })
}

/**
 * 查询专业
 * @param params 查询条件
 * @returns 分页列表
 */
export function queryProfessionByOrg(params) {
  return http.request({
    url: `/system/Rest/sysMajor/listByPage/options`,
    method: 'get',
    params
  })
}

/**
 * 根据专业查询PI
 * @param params 查询条件
 * @returns 分页列表
 */
export function queryPiByProfession(params) {
  return http.request({
    url: `/system/Rest/user/major/listByPage/options`,
    method: 'get',
    params
  })
}

/**
 * 查询组织列表（根据组织类型）
 * @param params 查询条件
 * @returns 分页列表
 */
export function queryOrgByOrgType(params) {
  return http.request({
    url: `/system/Rest/org/listByPage/options`,
    method: 'get',
    params
  })
}

// 【意向/立项】审批人显示此PI的在研项目数量
export function queryPiInResearchNum(params) {
  return http.request({
    url: `/ctms/Rest/project/apply/queryPiInResearchNum`,
    method: 'get',
    params
  })
}

// 【意向/立项】审批人显示此PI的在研项目信息
export function queryInResearchProjectInfo(params) {
  return http.request({
    url: `/ctms/Rest/project/apply/queryInResearchProjectInfo`,
    method: 'get',
    params
  })
}

// 【意向/立项】审批人显示当前专业在研项目数量
export function queryMajorInResearchNum(params) {
  return http.request({
    url: `/ctms/Rest/project/apply/queryMajorInResearchNum`,
    method: 'get',
    params
  })
}

// 更新表单排序
export function updateTemplateDisplayOrder(params) {
  return http.request({
    url: '/common/Rest/form/template/updateDisplayOrder',
    method: 'post',
    params
  })
}

// 更新表单排序(应用端)
export function updateApplyDisplayOrder(params) {
  return http.request({
    url: '/common/Rest/form/apply/updateDisplayOrder',
    method: 'post',
    params
  })
}
